Distributed computing systems include multiple distinct services. Each service may be independent of other services, and may be accessed without knowledge of its underlying platform implementation. Each service typically operates on an application server such as a Java virtual machine.
In conventional distributed computing systems, to install a new service on a particular application server, an administrator needs to log in to the machine hosting that application server, and manually install the service thereon using a command line interface. Moreover, the administrator typically needs to personally know what machines are on the distributed system and the capabilities of those machines. This makes installing new services on the distributed computing system time consuming and error prone.